package com.example.chooseimage;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {

	private String imgName = null;
	private ImageView imgView = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		imgView = (ImageView)findViewById(R.id.imgView);
	}
	
	public void btnClear_onClick(View view) {
		//	画像を初期化する
		imgName = null;
		imgView.setImageResource(R.drawable.ic_launcher);
	}

	public void imgView_onClick(View view) {
		Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
		photoPickerIntent.setType("image/*");
		startActivityForResult(photoPickerIntent, 1);
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		
		if (requestCode == 1 && resultCode == RESULT_OK) {
			try {
				//	Intentから選択された画像の場所を取り出す
				Uri imageUri = data.getData();
				//	画像を読み込む準備をする
				InputStream imageStream = getContentResolver().openInputStream(imageUri);
				//	画像を読み込む
				Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
		
				//	画像を保存するファイルを作成する
				File imgFile = File.createTempFile("IMG", ".PNG", getFilesDir());
				//	画像を保存するファイルのOutputStreamを取得する
	        	FileOutputStream out = new FileOutputStream(imgFile.getPath());
	        	//	画像を保存するファイルのファイル名を取得する
	        	imgName = imgFile.getName();
	        	Log.i("画像を保存したファイル名", imgName);
	        	//	画像を保存する
				selectedImage.compress(Bitmap.CompressFormat.PNG, 100, out);

				//	画像を表示する
				imgView.setImageBitmap(selectedImage);
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
